The present invention generally relates to the field of data management. More specifically, the present invention relates to a method, system and computer program product for organizing data in an Electronic Design and Automation (EDA) tool.
Circuit designing includes creating schematic diagrams, floor-planning, performing logic synthesis, performing simulations, performing verification, preparing mask data, placing and routing, creating a Printed Circuit Board (PCB) layout, and the like. These functions are performed by various EDA tools. EDA tools create several design objects. Each design object comprises multiple files with program-generated names, for example, master.tag, sch.cdb, verilog.v, prop.xx, and the like. In addition, several temporary and run files are created by the EDA tool, for example, log files, execution files, backup files, and the like.
Generally, a user of an EDA tool works at higher abstraction levels, such as libraries and cells, and may not be aware of these individual files. Hence, it becomes difficult for users to understand the construction of individual design units and various other files created by the EDA tool. Users do not know which files should be managed together, which need to be managed as different versions of the same file, which should not be managed, and so forth. Therefore, users may find difficulty in versioning and managing several files generated by the EDA tool.
In the current state of technology, several solutions are available to manage design data generated by EDA tools, for example, Cliosoft SOS™ for Cadence Virtuoso™, Enovia DesignSync™ for Cadence Virtuoso™, and Cliosoft SOS™ for Mentor ICstudio™. The present systems provide a solution to the problems mentioned above by forming one or more composite objects from multiple files. The one or more composite objects are managed and versioned instead of individual files. However, these systems are only designed for a particular design tool and cannot manage files generated by other EDA tools.
In light of the above discussion, there is a need for an adaptable system and method for managing multiple files generated by a multitude of design tools.